package modulo8.beans;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author eumigue
 */
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import modulo8.ejb.UsuarioFacadeRemote;
import modulo8.entity.Usuario;


public class beanBuscador {
    UsuarioFacadeRemote usuarioFacade = lookupUsuarioFacadeRemote();
    private int totalUsuarios;
    private List<Usuario> listaUsuarios;

    public beanBuscador() {
        listaUsuarios = usuarioFacade.findAll();
        totalUsuarios = listaUsuarios.size();
     }

    public List<Usuario> getData(String consulta) {
       Usuario usuario = null;
        consulta = consulta.toLowerCase();
        List<Usuario> encontrados = new ArrayList<Usuario>();
        for(int i=0; i<totalUsuarios; i++) {
            usuario = listaUsuarios.get(i);
            if(usuario.getNombre().toLowerCase().startsWith(consulta)) {
                encontrados.add(listaUsuarios.get(i));
            } else if(usuario.getApellidos().toLowerCase().startsWith(consulta)) {
                encontrados.add(listaUsuarios.get(i));
            }
        }
        return encontrados;
       }

    private UsuarioFacadeRemote lookupUsuarioFacadeRemote() {
        try {
            Context c = new InitialContext();
            return (UsuarioFacadeRemote) c.lookup("java:global/masterbook/masterbook-ejb/UsuarioFacade!modulo8.ejb.UsuarioFacadeRemote");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }


}


